package com.payment.common.core.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import com.payment.common.domain.BaseEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * 类名：BaseDaoImpl.java<br>
 * 描述：<br>
 * 创建者：XINJF<br>
 * 创建日期：2018年5月8日下午9:05:56<br>
 * 版本：1.0<br>
 * 修改者：<br>
 * 修改日期：<br>
 */
public abstract class BaseDaoImpl<T extends BaseEntity> extends SqlSessionDaoSupport implements BaseDao<T>{

	protected static final Logger logger = LoggerFactory.getLogger(BaseDaoImpl.class);
	
	public static final String SQL_INSERT = "insert";
	public static final String SQL_BATCH_INSERT = "batchInsert";
	public static final String SQL_UPDATE = "update";
	public static final String SQL_GET_BY_ID = "getById";
	public static final String SQL_DELETE_BY_ID = "deleteById";
	public static final String SQL_LIST_PAGE = "listPage";
	public static final String SQL_LIST_BY = "listBy";
	public static final String SQL_COUNT_BY_PAGE_PARAM = "countByPageParam";
	
	@Autowired
	private SqlSessionTemplate sessionTemplate;
	
	@Autowired
	protected SqlSessionFactory sqlSessionFactory;
	
	@Override
	public long insert(T entity) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public long insert(List<T> list) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public long update(T entity) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public long update(List<T> list) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public T getById(long id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public long deleteById(long id) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public List<T> listBy(Map<String, Object> paramMap) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Object> listBy(Map<String, Object> paramMap, String sqlId) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public T getBy(Map<String, Object> paramMap) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Object getBy(Map<String, Object> paramMap, String sqlId) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getSeqNextValue(String seqName) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SqlSessionTemplate getSessionTemplate() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SqlSession getSqlSession() {
		// TODO Auto-generated method stub
		return null;
	}
 
}
